package com.mdd.admin.service.unit;

import com.mdd.admin.validate.common.PageParam;
import com.mdd.admin.validate.unit.GoodsUnitParam;
import com.mdd.admin.vo.unit.GoodsUnitListVo;
import com.mdd.admin.vo.unit.GoodsUnitDetailVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.goods.GoodsUnit;

import java.util.List;
import java.util.Map;

/**
 * 服务单位服务接口类
 */
public interface IGoodsUnitService {

    /**
     * 服务单位列表
     *
     * @param pageParam 分页参数
     * @param params 搜索参数
     * @return PageResult<GoodsUnitVo>
     */
    PageResult<GoodsUnitListVo> list(PageParam pageParam, Map<String, String> params);

    /**
     * 服务单位详情
     *
     * @param id 主键ID
     * @return GoodsUnit
     */
    GoodsUnitDetailVo detail(Long id);

    /**
     * 服务单位新增
     *
     * @param goodsUnitParam 参数
     */
    void add(GoodsUnitParam goodsUnitParam);

    /**
     * 服务单位编辑
     *
     * @param goodsUnitParam 参数
     */
    void edit(GoodsUnitParam goodsUnitParam);

    /**
     * 服务单位删除
     *
     * @param id 主键ID
     */
    void del(Long id);

    List<GoodsUnit> listByIds(List<Long> unitIds);

    GoodsUnit getById(Long unitId);
}
